<?php
class ValesalidasController extends AppController {

	var $name = 'Valesalidas';
	var $components = array('RequestHandler');
	
	function getValesFactura(){
		$this->layout="ajax";
		if($this->JQGridPaginate->isGrid){
			$fields = array('Valesalida.id',
							'Valesalida.numero',
							'"Almacen"."codigo" AS "Valesalida__almacen"',
			                '"Valesalida"."created"::date AS "Valesalida__created"',
							'"Usuario"."appaterno" || \'  \' || "Usuario"."nombres" AS "Valesalida__usuarioentrega"',
							'"Valesalidaestado"."descripcion" AS "Valesalida__valesalidaestado"');
			
			$this->JQGridPaginate->recursive = 0;
			$this->JQGridPaginate->cakefields = $fields;
			$this->autoRender = false;
			echo $this->JQGridPaginate->paginate("Valesalida");
		}
	}
	
	/** NOS ENTREGA LOS DATOS PARA FORMAR EL VALE DE SALIDA
	 **/
    function getValesalida($vale_id = null){
		$this->set('vale_id',$vale_id);
        $this->loadModel('Detallevalesalida');
		$this->layout = 'ajax';
		
		//recuperamos los datos del vale salida
		$valesalida = $this->Valesalida->getValesalida($vale_id);
		
		//recuperamos los datos del detalle vale salida
		$detallevalesalida = $this->Detallevalesalida->getDetallevalesalida($vale_id);
		
		//seteamos datos
		$this->set('valesalida',$valesalida);
		$this->set('detallevalesalida',$detallevalesalida);
	}
	
	/**Actualiza el vale de salida
	 * 
	 */
	function actualizar(){
	    $this->loadModel('Valesalida');
	    $this->loadModel('Factura');
	    $this->autoRender = false;
	    
	    switch($this->params['form']['oper']){
	        case 'entregar':
	            $respuesta = $this->Valesalida->setKardexValesalida($this->params['form']['vale'],$this->variables);
	            if($respuesta['respuesta']){
	                $respuesta = $this->Factura->setActualizarEstado($respuesta['factura_id']);
	            } 
	            break;
	        default: $respuesta = array('respuesta'=>false, 'mensaje'=>'hola', $this->params['form']);
	            break;
	    }
	    
	    if(!$respuesta['respuesta']) echo json_encode($respuesta);
	    else echo json_encode(array('respuesta'=>true, 'mensaje'=>"EL VALE SALIDA FUE ENTREGADO"));
	}
	
	/** CREA UN VALE DE SALIDA POR FACTURA
	 * 
	 */
	function setValeFactura($factura_id,$almacen_id){
		$this->layout = 'ajax';
		$this->Valesalida->begin();
		$respuesta = $this->Valesalida->setValesalida($factura_id,$almacen_id,$this->variables);
		if($respuesta['respuesta']){
			$this->Valesalida->commit();
			echo json_encode($respuesta);
		}else{
			$this->Valesalida->rollback();
			echo json_encode($respuesta);
		}
		$this->autoRender = false;
	}
}